
#ifndef _PROPLIB_PROP_NUMBER_H_
#define	_PROPLIB_PROP_NUMBER_H_

#if !defined(_KERNEL) && !defined(_STANDALONE)
#include <stdint.h>
#endif
#include <prop/prop_object.h>

typedef struct _prop_number *prop_number_t;

__BEGIN_DECLS
prop_number_t	prop_number_create_integer(int64_t);
prop_number_t	prop_number_create_unsigned_integer(uint64_t);

prop_number_t	prop_number_copy(prop_number_t);

int		prop_number_size(prop_number_t);
bool		prop_number_unsigned(prop_number_t);

int64_t		prop_number_integer_value(prop_number_t);
uint64_t	prop_number_unsigned_integer_value(prop_number_t);

bool		prop_number_equals(prop_number_t, prop_number_t);
bool		prop_number_equals_integer(prop_number_t, int64_t);
bool		prop_number_equals_unsigned_integer(prop_number_t, uint64_t);
__END_DECLS

#endif /* _PROPLIB_PROP_NUMBER_H_ */
